import { color, rgb } from './ee-color'
/** 主题可以定制整个ui框架的颜色 */

/**
 * @typedef {object} theme
 * @property {rgb} primary - 主色调
 * @property {rgb} success - 成功色调
 * @property {rgb} warning - 警告色调
 * @property {rgb} error - 错误色调
 * @property {rgb} text - 文本色调
 * @property {rgb} line - 边框，分割线色调
 */

/** 颜色主题
 * @typedef {('primary' | 'text' | 'success' | 'warning' | 'danger' | 'line')} color
 */

/** 默认主题
 * @type {theme}
 */
export const defaultTheme = {
  default: { r: 85, g: 85, b: 85 },
  primary: { r: 63, g: 148, b: 233 },
  success: { r: 51, g: 232, b: 62 },
  warning: { r: 234, g: 154, b: 63 },
  danger: { r: 233, g: 91, b: 63 },
  text: { r: 47, g: 48, b: 49 },
  line: { r: 206, g: 207, b: 208 },
}

/** 全局使用主题
 * @param {theme} theme - 要采用的主题
 */
export function useTheme(theme) {
  color(theme.default, '');
  color(theme.primary, 'primary');
  color(theme.success, 'success');
  color(theme.warning, 'warning');
  color(theme.danger, 'danger');
  color(theme.text, 'text');
  color(theme.line, 'line');
}